package org.example.redpacket.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.redpacket.model.po.UserRedPacketDetailPO;

import java.util.List;

/**
 * 用户领取红包明细 dao层
 *
 * @author: hero生仔
 */
@Mapper
public interface UserRedPacketDetailMapper {

    /**
     * 插入用户领取红包明细记录
     *
     * @param userRedPacketDetailPO userRedPacketDetailPO
     * @return 成功插入条数
     */
    Integer insertUserRedPacketDetail(UserRedPacketDetailPO userRedPacketDetailPO);

    /**
     * 更新用户领取红包明细
     *
     * @param list list
     * @return 更改个数
     */
    Integer batchUpdateRedPacketDetail(@Param("list") List<UserRedPacketDetailPO> list);

    /**
     * 查询用户领取红包详细信息
     *
     * @param userId userId
     * @return 用户领取红包详细信息
     */
    List<UserRedPacketDetailPO> queryRedPacketDetail(@Param("userId") String userId);

    /**
     * 分页查询用户领取红包详细信息
     *
     * @param activityId activityId
     * @param id   自增id
     * @param limit      limit
     * @return 用户领取红包详细信息
     */
    List<UserRedPacketDetailPO> queryRedPacketByPageSize(@Param("activityId") String activityId,@Param("id") Integer id, @Param("limit") Integer limit);
}
